#!/usr/bin/env python3
# coding=utf-8
'''
说明：
'''
from docx import Document
import os,datetime,time
import xlrd
from docx.shared import Inches
from docx.enum.table import WD_TABLE_ALIGNMENT

def createDoc(dataList,errorfile):
    filename = str(dataList[2]) + dataList[3]
    keshi = str(dataList[1]).replace('#N/A', '无科室').replace('42', '无科室')
    if not os.path.exists(os.path.dirname(__file__)+'/科室/'+keshi):
        os.makedirs(os.path.dirname(__file__)+'/科室/'+keshi)
    document = Document("template.docx")
    for p in document.paragraphs:
        if '{档案号}' in p.text:
            p.text = p.text.replace('{档案号}', str(dataList[0]))
        if '{工号}' in p.text:
            p.text = p.text.replace('{工号}', str(dataList[2]))
    document.tables[0].cell(0, 1).text =str(dataList[3])#赋值
    document.tables[0].cell(0, 4).text = str(dataList[4])
    document.tables[0].cell(0, 9).text = str(dataList[5])
    document.tables[0].cell(1, 1).text = str(dataList[6])
    document.tables[0].cell(1, 4).text = str(dataList[7])
    document.tables[0].cell(1, 9).text = str(dataList[8])
    document.tables[0].cell(2, 1).text = str(dataList[9])
    document.tables[0].cell(2, 4).text = str(dataList[10])
    document.tables[0].cell(2, 9).text = str(dataList[11])
    document.tables[0].cell(3, 1).text = str(dataList[12])
    document.tables[0].cell(3, 10).text = str(dataList[13])
    document.tables[0].cell(4, 1).text = str(dataList[14])
    document.tables[0].cell(4, 10).text = str(dataList[15])
    document.tables[0].cell(5, 1).text = str(dataList[16])
    document.tables[0].cell(5, 10).text = str(dataList[17])
    document.tables[0].cell(6, 3).text = str(dataList[18])
    document.tables[0].cell(6, 10).text = str(dataList[19])
    document.tables[0].cell(7, 3).text = str(dataList[20])
    document.tables[0].cell(7, 10).text = str(dataList[21])
    document.tables[0].cell(8, 10).text = str(dataList[22]+'。').replace('；', '；\n').replace('，', '；\n')
    #居中
    for i in range(8):
        for j in range(11):
            document.tables[0].cell(i, j).paragraphs[0].paragraph_format.alignment = WD_TABLE_ALIGNMENT.CENTER
    #插入图片
    try:
        document.tables[0].cell(0, 10).paragraphs[0].add_run().add_picture('F:\\在编人员照片2\\%s.jpg'%filename,width=Inches(0.96))

    except:#无图记录略过
        print(filename+'：这个工号找不到图片文件！=-(￣_,￣ )')
        document.tables[0].cell(0, 10).text = '照\n\n片'
        document.tables[0].cell(0, 10).paragraphs[0].paragraph_format.alignment = WD_TABLE_ALIGNMENT.CENTER
        with open(errorfile,'a') as f:
            f.write(keshi+'--'+filename+'\n')
    #保存
    document.save(os.path.dirname(__file__)+'/科室/%s/%s.doc'%(keshi,filename))
    document.save(os.path.dirname(__file__) + '/%s/%s.doc' % ('全部', filename))  # 保存到统一文件夹中。




if __name__=='__main__':
    data = xlrd.open_workbook('data.xlsx')#读取数据
    table = data.sheet_by_index(0)#读取第一个sheet
    errorfile = '没有图片_%s.txt' % datetime.datetime.now().strftime('%Y%m%d%H%M%S%f')
    if not os.path.exists('全部'):
        os.mkdir('全部')
    if not os.path.exists('科室'):
        os.mkdir('科室')
    for i in range(table.nrows - 1):#开始读取数据
    #for i in range(3):  # 测试用3条数据
        dataList = table.row_values(i + 1)#读取整好数据，从第二行开始
        print(dataList)
        createDoc(dataList,errorfile)  # 创建doc
        print('剩余%s行数据' % str(table.nrows - i - 2))
        #time.sleep(3)
    print('处理完成\n')



